Telephone call processing and switching systems are, at the time of the present patent application, relatively sophisticated, computerized systems, and development and introduction of new systems continues. Much information on the nature of such hardware and software is available in a number of publications accessible to the present inventor and to those with skill in the art in general. For this reason, much minute detail of known systems is not reproduced here as to do so would obscure the facts and teaching of the invention.
One document which provides considerable information on intelligent networks is "ITU-T Recommendation Q. 1219, Intelligent Network User's Guide for Capability Set 1", dated April, 1994. This document is readily available to the skilled artisan, and is incorporated herein by reference.
At the time of filing the present patent application there continues to be remarkable growth in telephone call-center systems, and several manufacturers and service providers are developing and introducing systems with enhanced functionality, principally through what is known in the art as computer-telephony integration (CTI). CTI systems are typically based on telephony switches connected by what are known as CTI links to relatively powerful computer processors executing telephony applications. As is known in the art, conventional telephony switches are electronic systems operating partly with computer hardware and software with a functionality set generally unique to the manufacturer and model of the individual switch. Many telephony switches have at least one external communication port known in the art as a CTI port, which adapted to connect to an external computer processor, and it is via this connectivity that CTI is accomplished.
Generally speaking, a CTI-enhanced telephony switch has a processor connected by a CTI link to the switch, and the processor is adapted to execute telephony CTI applications to monitor and direct activity of the switch. New invention of CTI-enhanced systems is limited only by the power of the computers used and the imagination and creativity of the technical people who invent new telephony systems through creating unique CTI applications.
The usual purpose of a call-center, as is known in the art, is to connect agents representing the sponsoring enterprise (owner, operator) of the call center with members of the public (people interested in accessing the services of the call center). Typically a call center is based, as described above, on at least one telephony switch to which agent stations are connected typically by extension lines and directory numbers, and to which incoming and outgoing trunk lines may carry telephone calls between the switch and the calling-in parties. In addition, most modern, high-capacity call centers have agent stations which include computer platforms (such as personal computers) equipped with video display units (PC/VDU), and the PC/VDU platforms are interconnected, usually by a local area network (LAN). There may also be servers of various sorts for various purposes on the LAN, and the LAN may also be connected to a CTI server in turn connected to the central switch through a CTI link.
In more recent contributions to the art of telephony, Data Network Telephony (DNT) has been integrated into the call-center environment. Internet Protocol (IP) telephony, a sub-set of DNT, is one of many common applications now practiced in many CTI call centers. A CTI call center enhanced with DNT capability has connection to a Wide-Area-Network (WAN), which most often is the well-known Internet network. Therefore, Connection-Orientated-Switched-Telephony (COST) calls may arrive from a telephone network and IP telephony events may arrive from network-connected clients. These dual-capable call centers are often termed communication centers because of the added media types that agents are responsible for handling.
In a call center communication flow there are typically numerous decision points, at which the flow of interaction may take one or another of divergent paths. Given a call center wherein agent stations include LAN-connected PC/VDU equipment and CTI-enhancement, an opportunity presents itself for directing activity of agents in a particularly efficient way. That is, scripts may be prepared for agent activity, for hardware activity (call switching and so forth), and even for interaction of agents with clients and hardware. The scripts may be maintained in, for example, a server on the LAN connecting agent's PC/VDU platforms, and direction may be thus provided to agents and activities of a call center before, during, and after calls with clients.
In conventional art, scripts are provided, as described above, from pre-programmed sources to agents through associated PC/VDU platforms. In providing scripts, it is necessary for a scripter (a programmer who writes and/or programs scripts) to analyze all of the transactions that might take place between an agent and a client, including what might be termed machine activity, such as switching a client's call from one agent to another, or to a source of preprogrammed audio, video, or textual information.
Scripts are programmed typically in a relatively high-level programming language. The complexity of a call-center presents a challenge for any programming facility. Moreover, as with any other sort of programming, when a bug appears, or when a change is made in the purpose or functionality of a call center, or portion of call-center operations, it is necessary to laboriously rewrite usually a significant number of scripts. This endeavor is no shallow task, and may take a considerable time. Moreover such reprogramming presents numerous opportunities for error, both in programming as well as in the layout and content of the effected scripts.
In more recent contributions to the art as known to the inventor, much simplicity is achieved in scripting within a call center by introducing object-oriented-scripting-programming (OOPS) technology into the CTI call-center environment. This form of programming relies on memory objects expressed in binary form that describe an object, which may represent a state of an agent, a piece of equipment, a function, or any other graphical representation. By dragging and dropping objects into an object container (application) a programmer can create any type of call center script as long as the integral "objects" are defined. In this way scripts providing call center function may be distributed to various portions of the overall system for quick and efficient execution. OOPS simulations or models may also be created for functional analytic purposes. One example of object modeling of call center functionality known to the present inventors and a subject of other patent applications known to the inventors uses Petri Net theory. The fundamentals of Petri Nets are well-known, and fairly presented in the book "Petri Net Theory and the Modeling of Systems", by James L. Peterson of the University of Texas at Austin. This book is published by Prentice-Hall, Inc. of Englewood Cliffs, N.J., and is incorporated herein by reference.
Various companies have proprietary systems and methods for creating and distributing call-center scripts based on object oriented programming. One known to the inventor is termed Nirvana.TM. scripting. One key feature of Nirvana.TM. is that it employs visual scripting for rapid application development that is supported by a Script Editor and Engine (SEE). Visual scripting language is used to describe control flow for enabling designers to represent parallelism, synchronization, asynchrony, and exceptions-handling in CTI applications.
It is desirable, when providing object-oriented scripts, to facilitate third parties for testing, modeling and correcting errors. With the advent of DNT integration into CTI call centers, it has also become desirable to provide a means for distributing object-oriented scripting to other call centers. The only way to facilitate third-party editing or application distribution to other WAN-connected call centers is to develop a formal representation of a descriptor language (DL) so that such representations may be distributed and utilized.
Several companies known to the inventor have proprietary solutions classified generally as application generation (AG) tools, which are textual representations of AG languages that facilitate third party entry into the process and application generation at distribution sites. These are textual representations of CTI or script-based AG tools. Known commercial applications of these AG tools include FAR Voice.TM. by FAR System.TM. from Mediasoft Telecom.TM., Visual Voice.TM. from Stylus Innovations.TM., and Vocal Point.TM. by Syntellect.TM., etc.
Because disparate call centers may have different hardware configurations and different platforms (operating environments), it becomes difficult to facilitate CTI solutions that are usable in a practical and efficient manner. In order to distribute usable CTI scripts to a plurality of system-varied centers, the centers must acquire source-compatible software and in some cases hardware. That is to say that distributed scripts are usable at distribution sites and editable by third parties only if software used to attain functionality (generate the applications) is provided by the source. For example, third parties and distribution sites must have AG tools developed by or supported by the source. Furthermore, objects are memory dependent and often require like computer environments to be transmitted and received successfully.
What is clearly needed is a method of textualizing and distributing object-oriented scripts to call-centers that does not depend on the use of a proprietary descriptor language (DL) or inclusion of memory dependent objects. Such a method would allow distribution and generation of object-oriented CTI applications to be performed in a more platform-independent manner to disparate call centers.